home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / XML Utilities / Professional Programmer XSL IDE / Xselerator25.msi / Data.Cab / F18306_ProdInfo.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2002-03-25  |  4.4 KB  |  102 lines

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xsl:stylesheet version="1.0" 
  3.   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  4.   xmlns:fo="http://www.w3.org/1999/XSL/Format">
  5.   <xsl:output method="xml" encoding="utf-8" indent="yes"/>
  6.   <xsl:template match="/">
  7.     <fo:root>
  8.  
  9.       <fo:layout-master-set>
  10.         <!-- layout for the first page -->
  11.         <fo:simple-page-master master-name="first" page-height="29.7cm" page-width="21cm" margin-top="1cm" margin-bottom="1.5cm" margin-left="2.5cm" margin-right="2.5cm">
  12.           <fo:region-body margin-top="1.2cm" margin-bottom="1.5cm"/>
  13.           <fo:region-before extent="1cm"/>
  14.           <fo:region-after extent="1cm"/>
  15.         </fo:simple-page-master>
  16.         <!-- layout for the other pages -->
  17.         <fo:simple-page-master master-name="rest" page-height="29.7cm" page-width="21cm" margin-top="1cm" margin-bottom="1.5cm" margin-left="2.5cm" margin-right="2.5cm">
  18.           <fo:region-body margin-top="1.2cm" margin-bottom="1.5cm"/>
  19.           <fo:region-before extent="1cm"/>
  20.           <fo:region-after extent="1cm"/>
  21.         </fo:simple-page-master>
  22.         <fo:page-sequence-master master-name="basic">
  23.           <fo:repeatable-page-master-alternatives>
  24.             <fo:conditional-page-master-reference master-reference="first" page-position="first" />
  25.             <fo:conditional-page-master-reference master-reference="rest" page-position="rest" />
  26.             <!-- recommended fallback procedure -->
  27.             <fo:conditional-page-master-reference master-reference="rest" />
  28.           </fo:repeatable-page-master-alternatives>
  29.         </fo:page-sequence-master>
  30.       </fo:layout-master-set>
  31.       <!-- end: defines page layout -->
  32.  
  33.       <xsl:apply-templates select="product_info/features"/>
  34.  
  35.     </fo:root>
  36.   </xsl:template>
  37.   
  38.   <xsl:template name="page_headers_and_footers">
  39.     <!-- header -->
  40.     <fo:static-content flow-name="xsl-region-before">
  41.       <fo:block text-align="center" font-size="10pt" font-family="sans-serif" font-weight="bold" line-height="14pt">
  42.         <xsl:value-of select="/product_info/product/name"/>
  43.         <xsl:text> </xsl:text>
  44.         <xsl:value-of select="/product_info/product/version"/>
  45.         <xsl:if test="/product_info/product/release">
  46.           <fo:inline font-weight="normal">
  47.             <xsl:text> (</xsl:text>
  48.             <xsl:value-of select="/product_info/product/release"/>
  49.             <xsl:text>)</xsl:text>
  50.           </fo:inline>
  51.         </xsl:if>
  52.       </fo:block>
  53.     </fo:static-content>
  54.     <!-- fotter -->
  55.     <fo:static-content flow-name="xsl-region-after">
  56.       <fo:block text-align="center" font-size="10pt" font-family="sans-serif" line-height="14pt">
  57.         <fo:page-number/>
  58.       </fo:block>
  59.     </fo:static-content>
  60.   </xsl:template>
  61.   
  62.   <xsl:template match="features">
  63.     <fo:page-sequence master-reference="basic">
  64.       <xsl:call-template name="page_headers_and_footers"/>
  65.       <fo:flow flow-name="xsl-region-body">
  66.         <fo:block font-size="18pt" font-family="sans-serif" line-height="24pt" space-after.optimum="15pt" background-color="#639ace" color="white" text-align="center" padding-top="3pt" font-variant="small-caps">
  67.           <xsl:value-of select="/product_info/product/name"/>
  68.           <xsl:text> Features</xsl:text>
  69.         </fo:block>
  70.         <xsl:apply-templates select="area"/>
  71.       </fo:flow>
  72.     </fo:page-sequence>
  73.   </xsl:template>
  74.   
  75.   <xsl:template match="area">
  76.     <fo:block font-size="16pt" font-family="sans-serif" line-height="20pt" space-before.optimum="10pt" space-after.optimum="10pt" text-align="start" padding-top="3pt">
  77.       <xsl:value-of select="@title"/>
  78.     </fo:block>
  79.     <fo:list-block provisional-distance-between-starts="0.4cm"
  80.                provisional-label-separation="0.15cm">
  81.       <xsl:apply-templates select="item"/>
  82.     </fo:list-block>
  83.   </xsl:template>
  84.   
  85.   <xsl:template match="item">
  86.     <fo:list-item start-indent="0.5cm">
  87.       <!-- insert a bullet -->
  88.       <fo:list-item-label end-indent="label-end()">
  89.         <fo:block>
  90.           <fo:inline font-family="Symbol">·</fo:inline>
  91.         </fo:block>
  92.       </fo:list-item-label>
  93.       <!-- list text --> 
  94.       <fo:list-item-body start-indent="body-start()">
  95.         <fo:block text-align="justify">
  96.           <xsl:value-of select="."/>
  97.         </fo:block>
  98.       </fo:list-item-body>
  99.     </fo:list-item>
  100.   </xsl:template>
  101.   
  102. </xsl:stylesheet>